package com.niuwa.p2p.entity.yeepay;

import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

import org.springframework.data.mongodb.core.mapping.Field;

import com.niuwa.p2p.core.constant.YeePayBizTypeEnum;
import com.niuwa.p2p.entity.yeepay.cp.YeepayCpTender;

/**
 * 
 * @title 投标/还款/债权转让 请求
 *
 * @author tennyqin
 * @version 1.0
 * @created 2015年4月14日
 */
@XmlRootElement(name = "request")
@XmlAccessorType(XmlAccessType.FIELD)
public class YeepayCpTenderRequest extends YeePayLoginRequest {

	private String userType; // 出款人用户类型，目前只支持传入MEMBER

	private YeePayBizTypeEnum bizType; // 根据业务的不同，需要传入不同的值 【必须】

	private String expired; // 超过此时间即不允许提交订单 【非必须】

	@Field(value = "details")
	private YeepayCpTender details; // 资金明细记录 [必须]

	@Field(value = "extend")
	private TenderExtend extend; // 业务扩展属性 [必须]

	// 扩展属性，存储回调后需要的数据
	private long custId;

	private BigDecimal userBidMoney;

	private String prodCode;

	private String platForm;

	private int productTag;

	private String projectNo;


	public YeepayCpTenderRequest() {

	}


	/**
	 * @param bizType
	 * @param details
	 */
	public YeepayCpTenderRequest(YeePayBizTypeEnum bizType, YeepayCpTender details) {
		super();
		this.bizType = bizType;
		this.details = details;
	}


	public String getUserType() {
		return userType;
	}


	public void setUserType(String userType) {
		this.userType = userType;
	}


	public YeePayBizTypeEnum getBizType() {
		return bizType;
	}


	public void setBizType(YeePayBizTypeEnum bizType) {
		this.bizType = bizType;
	}


	public String getExpired() {
		return expired;
	}


	public void setExpired(String expired) {
		this.expired = expired;
	}


	public YeepayCpTender getDetails() {
		return details;
	}


	public void setDetails(YeepayCpTender details) {
		this.details = details;
	}


	public TenderExtend getExtend() {
		return extend;
	}


	public void setExtend(TenderExtend extend) {
		this.extend = extend;
	}


	public long getCustId() {
		return custId;
	}


	public void setCustId(long custId) {
		this.custId = custId;
	}


	public BigDecimal getUserBidMoney() {
		return userBidMoney;
	}


	public void setUserBidMoney(BigDecimal userBidMoney) {
		this.userBidMoney = userBidMoney;
	}


	public String getProdCode() {
		return prodCode;
	}


	public void setProdCode(String prodCode) {
		this.prodCode = prodCode;
	}


	public String getPlatForm() {
		return platForm;
	}


	public void setPlatForm(String platForm) {
		this.platForm = platForm;
	}


	public int getProductTag() {
		return productTag;
	}


	public void setProductTag(int productTag) {
		this.productTag = productTag;
	}


	public String getProjectNo() {
		return projectNo;
	}


	public void setProjectNo(String projectNo) {
		this.projectNo = projectNo;
	}
}
